for (Object subValue : (Object[]) value)
{
if ((subValue instanceof String)
&& query.matcher((String) subValue).find())
return true;
}
}
for (Object subValue : (Object[]) value)
{
if ((subValue instanceof String)
&& matches(property, (String) subValue))
return true;
}
}